package com.spic.business.informatization.before_after_work.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.spic.business.two.tickets.general.domain.*;
import com.spic.common.core.annotation.Excel;
import com.spic.common.core.web.domain.BaseEntity;
import lombok.Data;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 班前班后会主对象 meeting_before_after
 *
 * @author yangjie
 * @date 2021-12-20
 */
@Data
public class MeetingBeforeAfter extends BaseEntity implements PrecautionsSubtableMark
{
    private static final long serialVersionUID = 1L;

    /** id */
    private String id;

    /** 会议名称 */
    @Excel(name = "会议名称")
    private String meetingName;

    /** 会议地点 */
    @Excel(name = "会议地点")
    private String meetingPlace;

    /** 会议召开时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @Excel(name = "会议召开时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    private Date meetingTime;

    /** 主持人 */
    @Excel(name = "主持人")
    private String compere;

    /** 班组名称 */
    @Excel(name = "班组名称")
    private String teamName;

    /** 班组长 */
    @Excel(name = "班组长")
    private String teamLeader;

    /** 班组人数 */
    @Excel(name = "班组人数")
    private Integer teamNumber;

    /** 出勤人数 */
    @Excel(name = "出勤人数")
    private Integer attendanceNumber;


    /** 缺勤人数 */
    @Excel(name = "缺勤人数")
    private Integer absenteeismNumber;


    private Integer attendanceNumberAfter;

    private Integer absenteeismNumberAfter;

    /** 安全学习内容 */
    @Excel(name = "安全学习内容")
    private String safetyLearningContent;

    /** 学习附件 */
    @Excel(name = "学习附件")
    private String safetyLearningFile;

    /** 工作重点描述 */
    @Excel(name = "工作重点描述")
    private String keyworkContent;

    public String getVedioResult() {
        return vedioResult;
    }

    public void setVedioResult(String vedioResult) {
        this.vedioResult = vedioResult;
    }

    /** 录音文件转文本结果 */
    private String vedioResult;


    /** 工作重点附件 */
    @Excel(name = "工作重点附件")
    private String keyworkFile;

    /** 部门ID(部门权限过滤字段) */
    @TableField(fill = FieldFill.INSERT)
    private Long deptId;

    //作业汇报 operation_report
    private String operationReport;
    //作业汇报文件 operation_report_file
    private String operationReportFile;
    //工作总结 summary_work
    private String summaryWork;
    //工作总结文件 summary_work_file
    private String summaryWorkFile;

    @TableField(exist = false)
    private List<SafetyPrecautionsSubtable> safetyPrecautionsSubtableList;

    /** 安全措施子数据信息 */
    @TableField(exist = false)
    private List<AddSafetyPrecautionsSubtable> addSafetyPrecautionsSubtableList;

    /** 安全措施子数据信息 */
    @TableField(exist = false)
    private List<RiskControlMeasuresSubtable> riskControlMeasuresSubtableList;

    @TableField(exist = false)
    private List<AddMattersNeedAttentionSubtable> addMattersNeedAttentionSubtableList;

    //变更人员
    @TableField(exist = false)
    private List<ChangeClassmemberSubtable> changeClassmemberSubtableList;

    /** 数据权限请求参数 */
    @TableField(exist = false)
    protected Map<String, Object> params;
    /***出勤情况***/
    private String attendanceInfo;

    public Map<String, Object> getParams()
    {
        if (params == null)
        {
            params = new HashMap<>();
        }
        return params;
    }

}
